enum Optional<T>{
case None
case Some(T)
}
所以
let x:String = nil
//等於
let x:String = Optional<String>.None
let x:String = "Something"
//等於
let x = Optional<String>.Some("Something")
Unwrapped
var y = x
過程就像是
switch x {
case .Some(let value) : y = value
case .None : //崩潰
}
以 if let 糖衣的話
if let y = x {
//y做些事
}
過程就像是
switch x {
case .Some(let y) : //y做些事
case .None :
break
}
var s = something
//nil 的話就是 ""
display.text = s ?? ""
Tuple 就是把多個值包起來變個群組。
群組內各式各樣的人都有
範例:
let tuple :(string,int,float) = ("非州人",5,11.6f)
let (人種,幾位,尺寸) = tuple
print(人種) //非洲人
print(幾位) // 5
print(尺寸) // 11.6f
//or
let x :(a :string ,b : int, c: float) = ("非州人",5,11.6f)
print(x.a) //非洲人
print(x.b) // 5
print(x.c) // 11.6f
你可以用在回傳多數值的情況下
struct Range<T> {
var startIndex: T
var endIndex: T
}
2 ... 3 包括3
2 .. 3 不包括3
var array = ["a","b","c","d"]
let r = [2...3] //-> ["c","d"]
let r2 = [2..3] //-> ["c"]
今天先這樣好了